#version 310 es
#ifdef GL_EXT_shader_texture_lod
#extension GL_EXT_shader_texture_lod : enable
#endif

precision highp float;
precision highp int;
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
uniform 	vec4 _ScaledScreenParams;
uniform 	vec2 _GlobalMipBias;
uniform 	vec4 _MainLightPosition;
uniform 	mediump vec4 _MainLightColor;
uniform 	mediump vec4 _AmbientOcclusionParam;
uniform 	vec4 _FPParams0;
uniform 	vec4 _FPParams1;
uniform 	vec4 _AdditionalLightsPosition[16];
uniform 	mediump vec4 _AdditionalLightsColor[16];
uniform 	mediump vec4 _AdditionalLightsAttenuation[16];
uniform 	mediump vec4 _AdditionalLightsSpotDir[16];
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 hlslcc_mtx4x4unity_MatrixV[4];
uniform 	vec4 _MainLightShadowOffset0;
uniform 	vec4 _MainLightShadowOffset1;
uniform 	vec4 _MainLightShadowParams;
uniform 	vec4 _MainLightShadowmapSize;
uniform 	vec4 _AdditionalShadowOffset0;
uniform 	vec4 _AdditionalShadowOffset1;
uniform 	vec4 _AdditionalShadowFadeParams;
uniform 	vec4 _AdditionalShadowmapSize;
uniform 	vec4 _AdditionalShadowParams[16];
uniform 	vec4 hlslcc_mtx4x4_AdditionalLightsWorldToShadow[64];
uniform 	vec4 hlslcc_mtx4x4_MainLightWorldToLight[4];
uniform 	float _AdditionalLightsCookieEnableBits;
uniform 	float _MainLightCookieTextureFormat;
uniform 	float _AdditionalLightsCookieAtlasTextureFormat;
uniform 	vec4 hlslcc_mtx4x4_AdditionalLightsWorldToLights[64];
uniform 	vec4 _AdditionalLightsCookieAtlasUVRects[16];
uniform 	float _AdditionalLightsLightTypes[16];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(0) uniform URP_ZBinBuffer {
#endif
	UNITY_UNIFORM vec4                URP_ZBins[1024];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(1) uniform urp_TileBuffer {
#endif
	UNITY_UNIFORM vec4                urp_Tiles[1024];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(2) uniform UnityPerDraw {
#endif
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_ObjectToWorld[4];
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_WorldToObject[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LODFade;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_WorldTransformParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightData;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightIndices[2];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube0_HDR;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube1_HDR;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LightmapST;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST;
	UNITY_UNIFORM mediump vec4                unity_SHAr;
	UNITY_UNIFORM mediump vec4                unity_SHAg;
	UNITY_UNIFORM mediump vec4                unity_SHAb;
	UNITY_UNIFORM mediump vec4                unity_SHBr;
	UNITY_UNIFORM mediump vec4                unity_SHBg;
	UNITY_UNIFORM mediump vec4                unity_SHBb;
	UNITY_UNIFORM mediump vec4                unity_SHC;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Min;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Max;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousM[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousMI[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_MotionVectorsParams;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(3) uniform UnityPerMaterial {
#endif
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_SoftParticleFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_CameraFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_BaseMap_ST;
	UNITY_UNIFORM mediump vec4                _BaseColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_EmissionColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_BaseColorAddSubDiff;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_SpecColor;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Cutoff;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Smoothness;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionStrengthScaled;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionBlend;
	UNITY_UNIFORM mediump float                _Surface;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
UNITY_LOCATION(0) uniform mediump sampler2D _ScreenSpaceOcclusionTexture;
UNITY_LOCATION(1) uniform mediump sampler2D _MainLightShadowmapTexture;
UNITY_LOCATION(2) uniform mediump sampler2DShadow hlslcc_zcmp_MainLightShadowmapTexture;
UNITY_LOCATION(3) uniform mediump sampler2D _AdditionalLightsShadowmapTexture;
UNITY_LOCATION(4) uniform mediump sampler2DShadow hlslcc_zcmp_AdditionalLightsShadowmapTexture;
UNITY_LOCATION(5) uniform mediump sampler2D _MainLightCookieTexture;
UNITY_LOCATION(6) uniform mediump sampler2D _AdditionalLightsCookieAtlasTexture;
UNITY_LOCATION(7) uniform mediump sampler2D _BaseMap;
in highp vec2 vs_TEXCOORD0;
in mediump vec4 vs_COLOR0;
in highp vec4 vs_TEXCOORD1;
in mediump vec3 vs_TEXCOORD2;
in highp vec4 vs_TEXCOORD7;
layout(location = 0) out mediump vec4 SV_Target0;
mediump vec4 u_xlat16_0;
vec4 u_xlat1;
mediump vec3 u_xlat16_2;
vec4 u_xlat3;
mediump vec4 u_xlat16_3;
mediump vec4 u_xlat16_4;
vec2 u_xlat5;
int u_xlati5;
uvec2 u_xlatu5;
bool u_xlatb5;
float u_xlat6;
mediump vec3 u_xlat16_6;
mediump vec4 u_xlat16_7;
mediump vec4 u_xlat16_8;
mediump vec4 u_xlat16_9;
mediump vec4 u_xlat16_10;
mediump vec4 u_xlat16_11;
mediump vec4 u_xlat16_12;
mediump vec4 u_xlat16_13;
mediump vec4 u_xlat16_14;
mediump vec4 u_xlat16_15;
mediump vec4 u_xlat16_16;
mediump vec4 u_xlat16_17;
mediump vec4 u_xlat16_18;
vec3 u_xlat19;
mediump float u_xlat16_19;
ivec2 u_xlati19;
uint u_xlatu19;
bool u_xlatb19;
vec4 u_xlat20;
mediump float u_xlat16_20;
ivec4 u_xlati20;
uint u_xlatu20;
bvec4 u_xlatb20;
vec3 u_xlat21;
ivec2 u_xlati21;
bool u_xlatb21;
vec3 u_xlat22;
int u_xlati22;
bvec4 u_xlatb22;
vec2 u_xlat23;
mediump vec4 u_xlat16_23;
bvec3 u_xlatb23;
vec3 u_xlat24;
mediump vec4 u_xlat16_24;
vec3 u_xlat25;
vec3 u_xlat26;
float u_xlat32;
int u_xlati32;
uint u_xlatu32;
mediump vec3 u_xlat16_33;
mediump vec2 u_xlat16_34;
mediump vec2 u_xlat16_37;
mediump vec2 u_xlat16_38;
float u_xlat46;
ivec2 u_xlati46;
uint u_xlatu46;
bvec2 u_xlatb47;
vec3 u_xlat49;
int u_xlati49;
bvec3 u_xlatb49;
float u_xlat59;
mediump vec2 u_xlat16_61;
mediump vec2 u_xlat16_62;
mediump vec2 u_xlat16_63;
mediump vec2 u_xlat16_64;
mediump vec2 u_xlat16_65;
mediump vec2 u_xlat16_69;
float u_xlat73;
mediump float u_xlat16_73;
int u_xlati73;
bool u_xlatb73;
ivec2 u_xlati75;
vec2 u_xlat76;
int u_xlati76;
vec2 u_xlat78;
bvec2 u_xlatb78;
float u_xlat82;
mediump float u_xlat16_82;
bool u_xlatb82;
float u_xlat83;
mediump float u_xlat16_83;
float u_xlat86;
mediump float u_xlat16_86;
bool u_xlatb86;
mediump float u_xlat16_87;
float u_xlat100;
uint u_xlatu100;
bool u_xlatb100;
float u_xlat101;
int u_xlati101;
uint u_xlatu101;
float u_xlat102;
float u_xlat103;
mediump float u_xlat16_103;
bool u_xlatb103;
int int_bitfieldExtract(int value, int offset, int bits) {
#if defined(GL_ES) && __VERSION__ <= 300
    return (bits == 0) ? 0 : (offset + bits < 32) ? ((value << (32 - bits - offset)) >> (32 - bits)) : (value >> offset);
#else
    return bitfieldExtract(value, offset, (offset + bits < 32) ? bits : (32 - offset));
#endif
}

int op_not(int value) { return -value - 1; }
ivec2 op_not(ivec2 a) { a.x = op_not(a.x); a.y = op_not(a.y); return a; }
ivec3 op_not(ivec3 a) { a.x = op_not(a.x); a.y = op_not(a.y); a.z = op_not(a.z); return a; }
ivec4 op_not(ivec4 a) { a.x = op_not(a.x); a.y = op_not(a.y); a.z = op_not(a.z); a.w = op_not(a.w); return a; }

void main()
{
vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
    u_xlat16_0 = texture(_BaseMap, vs_TEXCOORD0.xy, _GlobalMipBias.x);
    u_xlat16_0 = u_xlat16_0 * _BaseColor;
    u_xlat16_0 = u_xlat16_0 * vs_COLOR0;
    u_xlat1.x = dot(vs_TEXCOORD2.xyz, vs_TEXCOORD2.xyz);
    u_xlat1.x = inversesqrt(u_xlat1.x);
    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD2.xyz;
    u_xlat1.w = 1.0;
    u_xlat16_2.x = dot(unity_SHAr, u_xlat1);
    u_xlat16_2.y = dot(unity_SHAg, u_xlat1);
    u_xlat16_2.z = dot(unity_SHAb, u_xlat1);
    u_xlat16_3 = u_xlat1.yzzx * u_xlat1.xyzz;
    u_xlat16_4.x = dot(unity_SHBr, u_xlat16_3);
    u_xlat16_4.y = dot(unity_SHBg, u_xlat16_3);
    u_xlat16_4.z = dot(unity_SHBb, u_xlat16_3);
    u_xlat16_83 = u_xlat1.y * u_xlat1.y;
    u_xlat16_83 = u_xlat1.x * u_xlat1.x + (-u_xlat16_83);
    u_xlat16_3.xyz = unity_SHC.xyz * vec3(u_xlat16_83) + u_xlat16_4.xyz;
    u_xlat16_2.xyz = u_xlat16_2.xyz + u_xlat16_3.xyz;
    u_xlat16_2.xyz = max(u_xlat16_2.xyz, vec3(0.0, 0.0, 0.0));
    u_xlat5.xy = vec2(1.0) / vec2(_ScaledScreenParams.xy);
    u_xlat5.xy = u_xlat5.xy * hlslcc_FragCoord.xy;
    u_xlat16_82 = texture(_ScreenSpaceOcclusionTexture, u_xlat5.xy, _GlobalMipBias.x).x;
    u_xlat59 = u_xlat16_82 + -1.0;
    u_xlat59 = _AmbientOcclusionParam.w * u_xlat59 + 1.0;
    u_xlat16_83 = min(u_xlat16_82, 1.0);
    u_xlatb82 = 0.0<_MainLightShadowParams.y;
    if(u_xlatb82){
        u_xlatb82 = _MainLightShadowParams.y==1.0;
        if(u_xlatb82){
            u_xlat3 = vs_TEXCOORD7.xyxy + _MainLightShadowOffset0;
            vec3 txVec0 = vec3(u_xlat3.xy,vs_TEXCOORD7.z);
            u_xlat16_4.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec0, 0.0);
            vec3 txVec1 = vec3(u_xlat3.zw,vs_TEXCOORD7.z);
            u_xlat16_4.y = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec1, 0.0);
            u_xlat3 = vs_TEXCOORD7.xyxy + _MainLightShadowOffset1;
            vec3 txVec2 = vec3(u_xlat3.xy,vs_TEXCOORD7.z);
            u_xlat16_4.z = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec2, 0.0);
            vec3 txVec3 = vec3(u_xlat3.zw,vs_TEXCOORD7.z);
            u_xlat16_4.w = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec3, 0.0);
            u_xlat16_6.x = dot(u_xlat16_4, vec4(0.25, 0.25, 0.25, 0.25));
        } else {
            u_xlatb82 = _MainLightShadowParams.y==2.0;
            if(u_xlatb82){
                u_xlat16_33.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + vec2(0.5, 0.5);
                u_xlat16_33.xy = floor(u_xlat16_33.xy);
                u_xlat16_7.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + (-u_xlat16_33.xy);
                u_xlat16_3 = u_xlat16_7.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                u_xlat16_4 = u_xlat16_3.xxzz * u_xlat16_3.xxzz;
                u_xlat16_61.xy = u_xlat16_4.yw * vec2(0.0799999982, 0.0799999982);
                u_xlat16_8.xy = u_xlat16_4.xz * vec2(0.5, 0.5) + (-u_xlat16_7.xy);
                u_xlat16_62.xy = (-u_xlat16_7.xy) + vec2(1.0, 1.0);
                u_xlat16_9.xy = min(u_xlat16_7.xy, vec2(0.0, 0.0));
                u_xlat16_9.xy = (-u_xlat16_9.xy) * u_xlat16_9.xy + u_xlat16_62.xy;
                u_xlat16_7.xy = max(u_xlat16_7.xy, vec2(0.0, 0.0));
                u_xlat16_7.xy = (-u_xlat16_7.xy) * u_xlat16_7.xy + u_xlat16_3.yw;
                u_xlat16_9.xy = u_xlat16_9.xy + vec2(1.0, 1.0);
                u_xlat16_7.xy = u_xlat16_7.xy + vec2(1.0, 1.0);
                u_xlat16_4.xy = u_xlat16_8.xy * vec2(0.159999996, 0.159999996);
                u_xlat16_8.xy = u_xlat16_62.xy * vec2(0.159999996, 0.159999996);
                u_xlat16_9.xy = u_xlat16_9.xy * vec2(0.159999996, 0.159999996);
                u_xlat16_10.xy = u_xlat16_7.xy * vec2(0.159999996, 0.159999996);
                u_xlat16_7.xy = u_xlat16_3.yw * vec2(0.159999996, 0.159999996);
                u_xlat16_4.z = u_xlat16_9.x;
                u_xlat16_4.w = u_xlat16_7.x;
                u_xlat16_8.z = u_xlat16_10.x;
                u_xlat16_8.w = u_xlat16_61.x;
                u_xlat16_3 = u_xlat16_4.zwxz + u_xlat16_8.zwxz;
                u_xlat16_9.z = u_xlat16_4.y;
                u_xlat16_9.w = u_xlat16_7.y;
                u_xlat16_10.z = u_xlat16_8.y;
                u_xlat16_10.w = u_xlat16_61.y;
                u_xlat16_7.xyz = u_xlat16_9.zyw + u_xlat16_10.zyw;
                u_xlat16_8.xyz = u_xlat16_8.xzw / u_xlat16_3.zwy;
                u_xlat16_8.xyz = u_xlat16_8.xyz + vec3(-2.5, -0.5, 1.5);
                u_xlat16_9.xyz = u_xlat16_10.zyw / u_xlat16_7.xyz;
                u_xlat16_9.xyz = u_xlat16_9.xyz + vec3(-2.5, -0.5, 1.5);
                u_xlat16_4.xyz = u_xlat16_8.yxz * _MainLightShadowmapSize.xxx;
                u_xlat16_8.xyz = u_xlat16_9.xyz * _MainLightShadowmapSize.yyy;
                u_xlat16_4.w = u_xlat16_8.x;
                u_xlat16_9 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_4.ywxw;
                u_xlat16_10.xy = u_xlat16_33.xy * _MainLightShadowmapSize.xy + u_xlat16_4.zw;
                u_xlat16_8.w = u_xlat16_4.y;
                u_xlat16_4.yw = u_xlat16_8.yz;
                u_xlat16_11 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_4.xyzy;
                u_xlat16_8 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_8.wywz;
                u_xlat16_4 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_4.xwzw;
                u_xlat16_12 = u_xlat16_3.zwyz * u_xlat16_7.xxxy;
                u_xlat16_13 = u_xlat16_3 * u_xlat16_7.yyzz;
                u_xlat16_33.x = u_xlat16_3.y * u_xlat16_7.z;
                vec3 txVec4 = vec3(u_xlat16_9.xy,vs_TEXCOORD7.z);
                u_xlat16_82 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec4, 0.0);
                vec3 txVec5 = vec3(u_xlat16_9.zw,vs_TEXCOORD7.z);
                u_xlat16_86 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec5, 0.0);
                u_xlat86 = u_xlat16_86 * u_xlat16_12.y;
                u_xlat82 = u_xlat16_12.x * u_xlat16_82 + u_xlat86;
                vec3 txVec6 = vec3(u_xlat16_10.xy,vs_TEXCOORD7.z);
                u_xlat16_86 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec6, 0.0);
                u_xlat82 = u_xlat16_12.z * u_xlat16_86 + u_xlat82;
                vec3 txVec7 = vec3(u_xlat16_8.xy,vs_TEXCOORD7.z);
                u_xlat16_86 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec7, 0.0);
                u_xlat82 = u_xlat16_12.w * u_xlat16_86 + u_xlat82;
                vec3 txVec8 = vec3(u_xlat16_11.xy,vs_TEXCOORD7.z);
                u_xlat16_86 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec8, 0.0);
                u_xlat86 = u_xlat16_13.x * u_xlat16_86 + u_xlat82;
                vec3 txVec9 = vec3(u_xlat16_11.zw,vs_TEXCOORD7.z);
                u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec9, 0.0);
                u_xlat86 = u_xlat16_13.y * u_xlat16_14.x + u_xlat86;
                vec3 txVec10 = vec3(u_xlat16_8.zw,vs_TEXCOORD7.z);
                u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec10, 0.0);
                u_xlat86 = u_xlat16_13.z * u_xlat16_14.x + u_xlat86;
                vec3 txVec11 = vec3(u_xlat16_4.xy,vs_TEXCOORD7.z);
                u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec11, 0.0);
                u_xlat86 = u_xlat16_13.w * u_xlat16_14.x + u_xlat86;
                vec3 txVec12 = vec3(u_xlat16_4.zw,vs_TEXCOORD7.z);
                u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec12, 0.0);
                u_xlat6 = u_xlat16_33.x * u_xlat16_14.x + u_xlat86;
                u_xlat16_6.x = u_xlat6;
            } else {
                u_xlat16_33.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + vec2(0.5, 0.5);
                u_xlat16_33.xy = floor(u_xlat16_33.xy);
                u_xlat16_7.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + (-u_xlat16_33.xy);
                u_xlat16_3 = u_xlat16_7.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                u_xlat16_4 = u_xlat16_3.xxzz * u_xlat16_3.xxzz;
                u_xlat16_8.yw = u_xlat16_4.yw * vec2(0.0408160016, 0.0408160016);
                u_xlat16_61.xy = u_xlat16_4.xz * vec2(0.5, 0.5) + (-u_xlat16_7.xy);
                u_xlat16_9.xy = (-u_xlat16_7.xy) + vec2(1.0, 1.0);
                u_xlat16_63.xy = min(u_xlat16_7.xy, vec2(0.0, 0.0));
                u_xlat16_9.xy = (-u_xlat16_63.xy) * u_xlat16_63.xy + u_xlat16_9.xy;
                u_xlat16_63.xy = max(u_xlat16_7.xy, vec2(0.0, 0.0));
                u_xlat16_9.zw = (-u_xlat16_63.xy) * u_xlat16_63.xy + u_xlat16_3.yw;
                u_xlat16_9 = u_xlat16_9 + vec4(2.0, 2.0, 2.0, 2.0);
                u_xlat16_3.z = u_xlat16_9.z * 0.0816320032;
                u_xlat16_4.xy = u_xlat16_61.yx * vec2(0.0816320032, 0.0816320032);
                u_xlat16_61.xy = u_xlat16_9.xy * vec2(0.0816320032, 0.0816320032);
                u_xlat16_4.z = u_xlat16_9.w * 0.0816320032;
                u_xlat16_3.x = u_xlat16_4.y;
                u_xlat16_3.yw = u_xlat16_7.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                u_xlat16_9.xz = u_xlat16_7.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                u_xlat16_9.y = u_xlat16_61.x;
                u_xlat16_9.w = u_xlat16_8.y;
                u_xlat16_3 = u_xlat16_3 + u_xlat16_9;
                u_xlat16_4.yw = u_xlat16_7.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                u_xlat16_8.xz = u_xlat16_7.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                u_xlat16_8.y = u_xlat16_61.y;
                u_xlat16_4 = u_xlat16_4 + u_xlat16_8;
                u_xlat16_7 = u_xlat16_9 / u_xlat16_3;
                u_xlat16_7 = u_xlat16_7 + vec4(-3.5, -1.5, 0.5, 2.5);
                u_xlat16_8 = u_xlat16_8 / u_xlat16_4;
                u_xlat16_8 = u_xlat16_8 + vec4(-3.5, -1.5, 0.5, 2.5);
                u_xlat16_7 = u_xlat16_7.wxyz * _MainLightShadowmapSize.xxxx;
                u_xlat16_8 = u_xlat16_8.xwyz * _MainLightShadowmapSize.yyyy;
                u_xlat16_9.xzw = u_xlat16_7.yzw;
                u_xlat16_9.y = u_xlat16_8.x;
                u_xlat16_10 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_9.xyzy;
                u_xlat16_11.xy = u_xlat16_33.xy * _MainLightShadowmapSize.xy + u_xlat16_9.wy;
                u_xlat16_7.y = u_xlat16_9.y;
                u_xlat16_9.y = u_xlat16_8.z;
                u_xlat16_12 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_9.xyzy;
                u_xlat16_65.xy = u_xlat16_33.xy * _MainLightShadowmapSize.xy + u_xlat16_9.wy;
                u_xlat16_7.z = u_xlat16_9.y;
                u_xlat16_13 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_7.xyxz;
                u_xlat16_9.y = u_xlat16_8.w;
                u_xlat16_14 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_9.xyzy;
                u_xlat16_34.xy = u_xlat16_33.xy * _MainLightShadowmapSize.xy + u_xlat16_9.wy;
                u_xlat16_7.w = u_xlat16_9.y;
                u_xlat16_15.xy = u_xlat16_33.xy * _MainLightShadowmapSize.xy + u_xlat16_7.xw;
                u_xlat16_8.xzw = u_xlat16_9.xzw;
                u_xlat16_9 = u_xlat16_33.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_8.xyzy;
                u_xlat16_62.xy = u_xlat16_33.xy * _MainLightShadowmapSize.xy + u_xlat16_8.wy;
                u_xlat16_8.x = u_xlat16_7.x;
                u_xlat16_33.xy = u_xlat16_33.xy * _MainLightShadowmapSize.xy + u_xlat16_8.xy;
                u_xlat16_16 = u_xlat16_3 * u_xlat16_4.xxxx;
                u_xlat16_17 = u_xlat16_3 * u_xlat16_4.yyyy;
                u_xlat16_18 = u_xlat16_3 * u_xlat16_4.zzzz;
                u_xlat16_3 = u_xlat16_3 * u_xlat16_4.wwww;
                vec3 txVec13 = vec3(u_xlat16_10.xy,vs_TEXCOORD7.z);
                u_xlat16_86 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec13, 0.0);
                vec3 txVec14 = vec3(u_xlat16_10.zw,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec14, 0.0);
                u_xlat19.x = u_xlat16_16.y * u_xlat16_19;
                u_xlat86 = u_xlat16_16.x * u_xlat16_86 + u_xlat19.x;
                vec3 txVec15 = vec3(u_xlat16_11.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec15, 0.0);
                u_xlat86 = u_xlat16_16.z * u_xlat16_19 + u_xlat86;
                vec3 txVec16 = vec3(u_xlat16_13.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec16, 0.0);
                u_xlat86 = u_xlat16_16.w * u_xlat16_19 + u_xlat86;
                vec3 txVec17 = vec3(u_xlat16_12.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec17, 0.0);
                u_xlat86 = u_xlat16_17.x * u_xlat16_19 + u_xlat86;
                vec3 txVec18 = vec3(u_xlat16_12.zw,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec18, 0.0);
                u_xlat86 = u_xlat16_17.y * u_xlat16_19 + u_xlat86;
                vec3 txVec19 = vec3(u_xlat16_65.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec19, 0.0);
                u_xlat86 = u_xlat16_17.z * u_xlat16_19 + u_xlat86;
                vec3 txVec20 = vec3(u_xlat16_13.zw,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec20, 0.0);
                u_xlat86 = u_xlat16_17.w * u_xlat16_19 + u_xlat86;
                vec3 txVec21 = vec3(u_xlat16_14.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec21, 0.0);
                u_xlat86 = u_xlat16_18.x * u_xlat16_19 + u_xlat86;
                vec3 txVec22 = vec3(u_xlat16_14.zw,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec22, 0.0);
                u_xlat86 = u_xlat16_18.y * u_xlat16_19 + u_xlat86;
                vec3 txVec23 = vec3(u_xlat16_34.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec23, 0.0);
                u_xlat86 = u_xlat16_18.z * u_xlat16_19 + u_xlat86;
                vec3 txVec24 = vec3(u_xlat16_15.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec24, 0.0);
                u_xlat86 = u_xlat16_18.w * u_xlat16_19 + u_xlat86;
                vec3 txVec25 = vec3(u_xlat16_9.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec25, 0.0);
                u_xlat86 = u_xlat16_3.x * u_xlat16_19 + u_xlat86;
                vec3 txVec26 = vec3(u_xlat16_9.zw,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec26, 0.0);
                u_xlat86 = u_xlat16_3.y * u_xlat16_19 + u_xlat86;
                vec3 txVec27 = vec3(u_xlat16_62.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec27, 0.0);
                u_xlat86 = u_xlat16_3.z * u_xlat16_19 + u_xlat86;
                vec3 txVec28 = vec3(u_xlat16_33.xy,vs_TEXCOORD7.z);
                u_xlat16_19 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec28, 0.0);
                u_xlat6 = u_xlat16_3.w * u_xlat16_19 + u_xlat86;
                u_xlat16_6.x = u_xlat6;
            }
        }
    } else {
        vec3 txVec29 = vec3(vs_TEXCOORD7.xy,vs_TEXCOORD7.z);
        u_xlat16_6.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec29, 0.0);
        u_xlat16_6.x = u_xlat16_6.x;
    }
    u_xlat16_33.x = (-_MainLightShadowParams.x) + 1.0;
    u_xlat16_6.x = u_xlat16_6.x * _MainLightShadowParams.x + u_xlat16_33.x;
    u_xlatb86 = 0.0>=vs_TEXCOORD7.z;
    u_xlatb19 = vs_TEXCOORD7.z>=1.0;
    u_xlatb86 = u_xlatb86 || u_xlatb19;
    u_xlat16_6.x = (u_xlatb86) ? 1.0 : u_xlat16_6.x;
    u_xlat19.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz);
    u_xlat86 = dot(u_xlat19.xyz, u_xlat19.xyz);
    u_xlat100 = u_xlat86 * _MainLightShadowParams.z + _MainLightShadowParams.w;
    u_xlat100 = clamp(u_xlat100, 0.0, 1.0);
    u_xlat16_33.x = (-u_xlat16_6.x) + 1.0;
    u_xlat16_6.x = u_xlat100 * u_xlat16_33.x + u_xlat16_6.x;
    u_xlatb100 = _MainLightCookieTextureFormat!=-1.0;
    if(u_xlatb100){
        u_xlat20.xy = vs_TEXCOORD1.yy * hlslcc_mtx4x4_MainLightWorldToLight[1].xy;
        u_xlat20.xy = hlslcc_mtx4x4_MainLightWorldToLight[0].xy * vs_TEXCOORD1.xx + u_xlat20.xy;
        u_xlat20.xy = hlslcc_mtx4x4_MainLightWorldToLight[2].xy * vs_TEXCOORD1.zz + u_xlat20.xy;
        u_xlat20.xy = u_xlat20.xy + hlslcc_mtx4x4_MainLightWorldToLight[3].xy;
        u_xlat20.xy = u_xlat20.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
        u_xlat16_3 = texture(_MainLightCookieTexture, u_xlat20.xy, _GlobalMipBias.x);
        u_xlatb20.xy = equal(vec4(vec4(_MainLightCookieTextureFormat, _MainLightCookieTextureFormat, _MainLightCookieTextureFormat, _MainLightCookieTextureFormat)), vec4(0.0, 1.0, 0.0, 0.0)).xy;
        u_xlat16_33.x = (u_xlatb20.y) ? u_xlat16_3.w : u_xlat16_3.x;
        u_xlat16_33.xyz = (u_xlatb20.x) ? u_xlat16_3.xyz : u_xlat16_33.xxx;
    } else {
        u_xlat16_33.x = float(1.0);
        u_xlat16_33.y = float(1.0);
        u_xlat16_33.z = float(1.0);
    }
    u_xlat16_33.xyz = u_xlat16_33.xyz * _MainLightColor.xyz;
    u_xlat16_33.xyz = vec3(u_xlat59) * u_xlat16_33.xyz;
    u_xlat16_2.xyz = vec3(u_xlat16_83) * u_xlat16_2.xyz;
    u_xlat20.xyz = u_xlat16_6.xxx * u_xlat16_33.xyz;
    u_xlat16_83 = dot(u_xlat1.xyz, _MainLightPosition.xyz);
    u_xlat16_83 = clamp(u_xlat16_83, 0.0, 1.0);
    u_xlat16_6.xyz = vec3(u_xlat16_83) * u_xlat20.xyz;
    u_xlat16_6.xyz = u_xlat16_0.xyz * u_xlat16_6.xyz;
    u_xlatu100 = uint(_FPParams0.w);
    u_xlatu20 = min(u_xlatu100, 16u);
    u_xlat86 = u_xlat86 * _AdditionalShadowFadeParams.x + _AdditionalShadowFadeParams.y;
    u_xlat86 = clamp(u_xlat86, 0.0, 1.0);
    u_xlatb47.xy = equal(vec4(vec4(_AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat)), vec4(0.0, 1.0, 0.0, 0.0)).xy;
    u_xlat16_7.x = float(0.0);
    u_xlat16_7.y = float(0.0);
    u_xlat16_7.z = float(0.0);
    for(uint u_xlatu_loop_1 = uint(0u) ; u_xlatu_loop_1<u_xlatu20 ; u_xlatu_loop_1++)
    {
        u_xlat21.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[int(u_xlatu_loop_1)].www + _AdditionalLightsPosition[int(u_xlatu_loop_1)].xyz;
        u_xlat102 = dot(u_xlat21.xyz, u_xlat21.xyz);
        u_xlat102 = max(u_xlat102, 6.10351562e-05);
        u_xlat22.x = inversesqrt(u_xlat102);
        u_xlat21.xyz = u_xlat21.xyz * u_xlat22.xxx;
        u_xlat22.x = float(1.0) / float(u_xlat102);
        u_xlat102 = u_xlat102 * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].x;
        u_xlat16_83 = (-u_xlat102) * u_xlat102 + 1.0;
        u_xlat16_83 = max(u_xlat16_83, 0.0);
        u_xlat16_83 = u_xlat16_83 * u_xlat16_83;
        u_xlat102 = u_xlat16_83 * u_xlat22.x;
        u_xlat16_83 = dot(_AdditionalLightsSpotDir[int(u_xlatu_loop_1)].xyz, u_xlat21.xyz);
        u_xlat16_83 = u_xlat16_83 * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].z + _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].w;
        u_xlat16_83 = clamp(u_xlat16_83, 0.0, 1.0);
        u_xlat16_83 = u_xlat16_83 * u_xlat16_83;
        u_xlat102 = u_xlat16_83 * u_xlat102;
        u_xlati22 = int(_AdditionalShadowParams[int(u_xlatu_loop_1)].w);
        u_xlatb49.x = u_xlati22>=0;
        if(u_xlatb49.x){
            u_xlatb49.x = vec4(0.0, 0.0, 0.0, 0.0)!=vec4(_AdditionalShadowParams[int(u_xlatu_loop_1)].z);
            if(u_xlatb49.x){
                u_xlatb49.xyz = greaterThanEqual(abs(u_xlat21.zzyy), abs(u_xlat21.xyxx)).xyz;
                u_xlatb49.x = u_xlatb49.y && u_xlatb49.x;
                u_xlatb23.xyz = lessThan((-u_xlat21.zyxz), vec4(0.0, 0.0, 0.0, 0.0)).xyz;
                u_xlat23.x = (u_xlatb23.x) ? float(5.0) : float(4.0);
                u_xlat23.y = (u_xlatb23.y) ? float(3.0) : float(2.0);
                u_xlat76.x = u_xlatb23.z ? 1.0 : float(0.0);
                u_xlat76.x = (u_xlatb49.z) ? u_xlat23.y : u_xlat76.x;
                u_xlat49.x = (u_xlatb49.x) ? u_xlat23.x : u_xlat76.x;
                u_xlat76.x = trunc(_AdditionalShadowParams[int(u_xlatu_loop_1)].w);
                u_xlat49.x = u_xlat49.x + u_xlat76.x;
                u_xlati22 = int(u_xlat49.x);
            }
            u_xlati22 = int(u_xlati22 << (2 & int(0x1F)));
            u_xlat3 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati22 + 1)];
            u_xlat3 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[u_xlati22] * vs_TEXCOORD1.xxxx + u_xlat3;
            u_xlat3 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati22 + 2)] * vs_TEXCOORD1.zzzz + u_xlat3;
            u_xlat3 = u_xlat3 + hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati22 + 3)];
            u_xlat22.xyz = u_xlat3.xyz / u_xlat3.www;
            u_xlatb103 = 0.0<_AdditionalShadowParams[int(u_xlatu_loop_1)].y;
            if(u_xlatb103){
                u_xlatb103 = 1.0==_AdditionalShadowParams[int(u_xlatu_loop_1)].y;
                if(u_xlatb103){
                    u_xlat3 = u_xlat22.xyxy + _AdditionalShadowOffset0;
                    vec3 txVec30 = vec3(u_xlat3.xy,u_xlat22.z);
                    u_xlat16_4.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec30, 0.0);
                    vec3 txVec31 = vec3(u_xlat3.zw,u_xlat22.z);
                    u_xlat16_4.y = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec31, 0.0);
                    u_xlat3 = u_xlat22.xyxy + _AdditionalShadowOffset1;
                    vec3 txVec32 = vec3(u_xlat3.xy,u_xlat22.z);
                    u_xlat16_4.z = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec32, 0.0);
                    vec3 txVec33 = vec3(u_xlat3.zw,u_xlat22.z);
                    u_xlat16_4.w = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec33, 0.0);
                    u_xlat16_83 = dot(u_xlat16_4, vec4(0.25, 0.25, 0.25, 0.25));
                } else {
                    u_xlatb103 = 2.0==_AdditionalShadowParams[int(u_xlatu_loop_1)].y;
                    if(u_xlatb103){
                        u_xlat16_8.xy = u_xlat22.xy * _AdditionalShadowmapSize.zw + vec2(0.5, 0.5);
                        u_xlat16_8.xy = floor(u_xlat16_8.xy);
                        u_xlat16_62.xy = u_xlat22.xy * _AdditionalShadowmapSize.zw + (-u_xlat16_8.xy);
                        u_xlat16_3 = u_xlat16_62.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                        u_xlat16_4 = u_xlat16_3.xxzz * u_xlat16_3.xxzz;
                        u_xlat16_9.xy = u_xlat16_4.yw * vec2(0.0799999982, 0.0799999982);
                        u_xlat16_63.xy = u_xlat16_4.xz * vec2(0.5, 0.5) + (-u_xlat16_62.xy);
                        u_xlat16_10.xy = (-u_xlat16_62.xy) + vec2(1.0, 1.0);
                        u_xlat16_64.xy = min(u_xlat16_62.xy, vec2(0.0, 0.0));
                        u_xlat16_64.xy = (-u_xlat16_64.xy) * u_xlat16_64.xy + u_xlat16_10.xy;
                        u_xlat16_62.xy = max(u_xlat16_62.xy, vec2(0.0, 0.0));
                        u_xlat16_62.xy = (-u_xlat16_62.xy) * u_xlat16_62.xy + u_xlat16_3.yw;
                        u_xlat16_64.xy = u_xlat16_64.xy + vec2(1.0, 1.0);
                        u_xlat16_62.xy = u_xlat16_62.xy + vec2(1.0, 1.0);
                        u_xlat16_4.xy = u_xlat16_63.xy * vec2(0.159999996, 0.159999996);
                        u_xlat16_11.xy = u_xlat16_10.xy * vec2(0.159999996, 0.159999996);
                        u_xlat16_10.xy = u_xlat16_64.xy * vec2(0.159999996, 0.159999996);
                        u_xlat16_12.xy = u_xlat16_62.xy * vec2(0.159999996, 0.159999996);
                        u_xlat16_62.xy = u_xlat16_3.yw * vec2(0.159999996, 0.159999996);
                        u_xlat16_4.z = u_xlat16_10.x;
                        u_xlat16_4.w = u_xlat16_62.x;
                        u_xlat16_11.z = u_xlat16_12.x;
                        u_xlat16_11.w = u_xlat16_9.x;
                        u_xlat16_3 = u_xlat16_4.zwxz + u_xlat16_11.zwxz;
                        u_xlat16_10.z = u_xlat16_4.y;
                        u_xlat16_10.w = u_xlat16_62.y;
                        u_xlat16_12.z = u_xlat16_11.y;
                        u_xlat16_12.w = u_xlat16_9.y;
                        u_xlat16_9.xyz = u_xlat16_10.zyw + u_xlat16_12.zyw;
                        u_xlat16_10.xyz = u_xlat16_11.xzw / u_xlat16_3.zwy;
                        u_xlat16_10.xyz = u_xlat16_10.xyz + vec3(-2.5, -0.5, 1.5);
                        u_xlat16_11.xyz = u_xlat16_12.zyw / u_xlat16_9.xyz;
                        u_xlat16_11.xyz = u_xlat16_11.xyz + vec3(-2.5, -0.5, 1.5);
                        u_xlat16_4.xyz = u_xlat16_10.yxz * _AdditionalShadowmapSize.xxx;
                        u_xlat16_10.xyz = u_xlat16_11.xyz * _AdditionalShadowmapSize.yyy;
                        u_xlat16_4.w = u_xlat16_10.x;
                        u_xlat16_11 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_4.ywxw;
                        u_xlat16_62.xy = u_xlat16_8.xy * _AdditionalShadowmapSize.xy + u_xlat16_4.zw;
                        u_xlat16_10.w = u_xlat16_4.y;
                        u_xlat16_4.yw = u_xlat16_10.yz;
                        u_xlat16_12 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_4.xyzy;
                        u_xlat16_10 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_10.wywz;
                        u_xlat16_4 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_4.xwzw;
                        u_xlat16_13 = u_xlat16_3.zwyz * u_xlat16_9.xxxy;
                        u_xlat16_14 = u_xlat16_3 * u_xlat16_9.yyzz;
                        u_xlat16_87 = u_xlat16_3.y * u_xlat16_9.z;
                        vec3 txVec34 = vec3(u_xlat16_11.xy,u_xlat22.z);
                        u_xlat16_103 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec34, 0.0);
                        vec3 txVec35 = vec3(u_xlat16_11.zw,u_xlat22.z);
                        u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec35, 0.0);
                        u_xlat23.x = u_xlat16_13.y * u_xlat16_23.x;
                        u_xlat103 = u_xlat16_13.x * u_xlat16_103 + u_xlat23.x;
                        vec3 txVec36 = vec3(u_xlat16_62.xy,u_xlat22.z);
                        u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec36, 0.0);
                        u_xlat103 = u_xlat16_13.z * u_xlat16_23.x + u_xlat103;
                        vec3 txVec37 = vec3(u_xlat16_10.xy,u_xlat22.z);
                        u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec37, 0.0);
                        u_xlat103 = u_xlat16_13.w * u_xlat16_23.x + u_xlat103;
                        vec3 txVec38 = vec3(u_xlat16_12.xy,u_xlat22.z);
                        u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec38, 0.0);
                        u_xlat103 = u_xlat16_14.x * u_xlat16_23.x + u_xlat103;
                        vec3 txVec39 = vec3(u_xlat16_12.zw,u_xlat22.z);
                        u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec39, 0.0);
                        u_xlat103 = u_xlat16_14.y * u_xlat16_23.x + u_xlat103;
                        vec3 txVec40 = vec3(u_xlat16_10.zw,u_xlat22.z);
                        u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec40, 0.0);
                        u_xlat103 = u_xlat16_14.z * u_xlat16_23.x + u_xlat103;
                        vec3 txVec41 = vec3(u_xlat16_4.xy,u_xlat22.z);
                        u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec41, 0.0);
                        u_xlat103 = u_xlat16_14.w * u_xlat16_23.x + u_xlat103;
                        vec3 txVec42 = vec3(u_xlat16_4.zw,u_xlat22.z);
                        u_xlat16_23.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec42, 0.0);
                        u_xlat83 = u_xlat16_87 * u_xlat16_23.x + u_xlat103;
                        u_xlat16_83 = u_xlat83;
                    } else {
                        u_xlat16_8.xy = u_xlat22.xy * _AdditionalShadowmapSize.zw + vec2(0.5, 0.5);
                        u_xlat16_8.xy = floor(u_xlat16_8.xy);
                        u_xlat16_62.xy = u_xlat22.xy * _AdditionalShadowmapSize.zw + (-u_xlat16_8.xy);
                        u_xlat16_3 = u_xlat16_62.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                        u_xlat16_4 = u_xlat16_3.xxzz * u_xlat16_3.xxzz;
                        u_xlat16_9.yw = u_xlat16_4.yw * vec2(0.0408160016, 0.0408160016);
                        u_xlat16_10.xy = u_xlat16_4.xz * vec2(0.5, 0.5) + (-u_xlat16_62.xy);
                        u_xlat16_64.xy = (-u_xlat16_62.xy) + vec2(1.0, 1.0);
                        u_xlat16_11.xy = min(u_xlat16_62.xy, vec2(0.0, 0.0));
                        u_xlat16_64.xy = (-u_xlat16_11.xy) * u_xlat16_11.xy + u_xlat16_64.xy;
                        u_xlat16_11.xy = max(u_xlat16_62.xy, vec2(0.0, 0.0));
                        u_xlat16_11.xy = (-u_xlat16_11.xy) * u_xlat16_11.xy + u_xlat16_3.yw;
                        u_xlat16_64.xy = u_xlat16_64.xy + vec2(2.0, 2.0);
                        u_xlat16_11.xy = u_xlat16_11.xy + vec2(2.0, 2.0);
                        u_xlat16_3.z = u_xlat16_11.x * 0.0816320032;
                        u_xlat16_4.xy = u_xlat16_10.yx * vec2(0.0816320032, 0.0816320032);
                        u_xlat16_10.xy = u_xlat16_64.xy * vec2(0.0816320032, 0.0816320032);
                        u_xlat16_4.z = u_xlat16_11.y * 0.0816320032;
                        u_xlat16_3.x = u_xlat16_4.y;
                        u_xlat16_3.yw = u_xlat16_62.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                        u_xlat16_11.xz = u_xlat16_62.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                        u_xlat16_11.y = u_xlat16_10.x;
                        u_xlat16_11.w = u_xlat16_9.y;
                        u_xlat16_3 = u_xlat16_3 + u_xlat16_11;
                        u_xlat16_4.yw = u_xlat16_62.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                        u_xlat16_9.xz = u_xlat16_62.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                        u_xlat16_9.y = u_xlat16_10.y;
                        u_xlat16_4 = u_xlat16_4 + u_xlat16_9;
                        u_xlat16_10 = u_xlat16_11 / u_xlat16_3;
                        u_xlat16_10 = u_xlat16_10 + vec4(-3.5, -1.5, 0.5, 2.5);
                        u_xlat16_9 = u_xlat16_9 / u_xlat16_4;
                        u_xlat16_9 = u_xlat16_9 + vec4(-3.5, -1.5, 0.5, 2.5);
                        u_xlat16_10 = u_xlat16_10.wxyz * _AdditionalShadowmapSize.xxxx;
                        u_xlat16_9 = u_xlat16_9.xwyz * _AdditionalShadowmapSize.yyyy;
                        u_xlat16_11.xzw = u_xlat16_10.yzw;
                        u_xlat16_11.y = u_xlat16_9.x;
                        u_xlat16_12 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                        u_xlat16_62.xy = u_xlat16_8.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                        u_xlat16_10.y = u_xlat16_11.y;
                        u_xlat16_11.y = u_xlat16_9.z;
                        u_xlat16_13 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                        u_xlat16_15.xy = u_xlat16_8.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                        u_xlat16_10.z = u_xlat16_11.y;
                        u_xlat16_14 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_10.xyxz;
                        u_xlat16_11.y = u_xlat16_9.w;
                        u_xlat16_16 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyzy;
                        u_xlat16_37.xy = u_xlat16_8.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.wy;
                        u_xlat16_10.w = u_xlat16_11.y;
                        u_xlat16_69.xy = u_xlat16_8.xy * _AdditionalShadowmapSize.xy + u_xlat16_10.xw;
                        u_xlat16_9.xzw = u_xlat16_11.xzw;
                        u_xlat16_11 = u_xlat16_8.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_9.xyzy;
                        u_xlat16_63.xy = u_xlat16_8.xy * _AdditionalShadowmapSize.xy + u_xlat16_9.wy;
                        u_xlat16_9.x = u_xlat16_10.x;
                        u_xlat16_8.xy = u_xlat16_8.xy * _AdditionalShadowmapSize.xy + u_xlat16_9.xy;
                        u_xlat16_17 = u_xlat16_3 * u_xlat16_4.xxxx;
                        u_xlat16_18 = u_xlat16_3 * u_xlat16_4.yyyy;
                        u_xlat16_23 = u_xlat16_3 * u_xlat16_4.zzzz;
                        u_xlat16_3 = u_xlat16_3 * u_xlat16_4.wwww;
                        vec3 txVec43 = vec3(u_xlat16_12.xy,u_xlat22.z);
                        u_xlat16_103 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec43, 0.0);
                        vec3 txVec44 = vec3(u_xlat16_12.zw,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec44, 0.0);
                        u_xlat24.x = u_xlat16_17.y * u_xlat16_24.x;
                        u_xlat103 = u_xlat16_17.x * u_xlat16_103 + u_xlat24.x;
                        vec3 txVec45 = vec3(u_xlat16_62.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec45, 0.0);
                        u_xlat103 = u_xlat16_17.z * u_xlat16_24.x + u_xlat103;
                        vec3 txVec46 = vec3(u_xlat16_14.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec46, 0.0);
                        u_xlat103 = u_xlat16_17.w * u_xlat16_24.x + u_xlat103;
                        vec3 txVec47 = vec3(u_xlat16_13.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec47, 0.0);
                        u_xlat103 = u_xlat16_18.x * u_xlat16_24.x + u_xlat103;
                        vec3 txVec48 = vec3(u_xlat16_13.zw,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec48, 0.0);
                        u_xlat103 = u_xlat16_18.y * u_xlat16_24.x + u_xlat103;
                        vec3 txVec49 = vec3(u_xlat16_15.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec49, 0.0);
                        u_xlat103 = u_xlat16_18.z * u_xlat16_24.x + u_xlat103;
                        vec3 txVec50 = vec3(u_xlat16_14.zw,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec50, 0.0);
                        u_xlat103 = u_xlat16_18.w * u_xlat16_24.x + u_xlat103;
                        vec3 txVec51 = vec3(u_xlat16_16.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec51, 0.0);
                        u_xlat103 = u_xlat16_23.x * u_xlat16_24.x + u_xlat103;
                        vec3 txVec52 = vec3(u_xlat16_16.zw,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec52, 0.0);
                        u_xlat103 = u_xlat16_23.y * u_xlat16_24.x + u_xlat103;
                        vec3 txVec53 = vec3(u_xlat16_37.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec53, 0.0);
                        u_xlat103 = u_xlat16_23.z * u_xlat16_24.x + u_xlat103;
                        vec3 txVec54 = vec3(u_xlat16_69.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec54, 0.0);
                        u_xlat103 = u_xlat16_23.w * u_xlat16_24.x + u_xlat103;
                        vec3 txVec55 = vec3(u_xlat16_11.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec55, 0.0);
                        u_xlat103 = u_xlat16_3.x * u_xlat16_24.x + u_xlat103;
                        vec3 txVec56 = vec3(u_xlat16_11.zw,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec56, 0.0);
                        u_xlat103 = u_xlat16_3.y * u_xlat16_24.x + u_xlat103;
                        vec3 txVec57 = vec3(u_xlat16_63.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec57, 0.0);
                        u_xlat103 = u_xlat16_3.z * u_xlat16_24.x + u_xlat103;
                        vec3 txVec58 = vec3(u_xlat16_8.xy,u_xlat22.z);
                        u_xlat16_24.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec58, 0.0);
                        u_xlat83 = u_xlat16_3.w * u_xlat16_24.x + u_xlat103;
                        u_xlat16_83 = u_xlat83;
                    }
                }
            } else {
                vec3 txVec59 = vec3(u_xlat22.xy,u_xlat22.z);
                u_xlat16_83 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec59, 0.0);
                u_xlat16_83 = u_xlat16_83;
            }
            u_xlat16_87 = 1.0 + (-_AdditionalShadowParams[int(u_xlatu_loop_1)].x);
            u_xlat16_83 = u_xlat16_83 * _AdditionalShadowParams[int(u_xlatu_loop_1)].x + u_xlat16_87;
            u_xlatb22.x = 0.0>=u_xlat22.z;
            u_xlatb49.x = u_xlat22.z>=1.0;
            u_xlatb22.x = u_xlatb49.x || u_xlatb22.x;
            u_xlat16_83 = (u_xlatb22.x) ? 1.0 : u_xlat16_83;
        } else {
            u_xlat16_83 = 1.0;
        }
        u_xlat16_87 = (-u_xlat16_83) + 1.0;
        u_xlat16_83 = u_xlat86 * u_xlat16_87 + u_xlat16_83;
        u_xlati22 = int(1 << (int(u_xlatu_loop_1) & int(0x1F)));
        u_xlati22 = int(uint(uint(u_xlati22) & uint(floatBitsToUint(_AdditionalLightsCookieEnableBits))));
        if(u_xlati22 != 0) {
            u_xlati22 = int(_AdditionalLightsLightTypes[int(u_xlatu_loop_1)]);
            u_xlati49 = (u_xlati22 != 0) ? 0 : 1;
            u_xlati76 = int(int(u_xlatu_loop_1) << (2 & int(0x1F)));
            if(u_xlati49 != 0) {
                u_xlat24.xyz = vs_TEXCOORD1.yyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 1)].xyw;
                u_xlat24.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati76].xyw * vs_TEXCOORD1.xxx + u_xlat24.xyz;
                u_xlat24.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 2)].xyw * vs_TEXCOORD1.zzz + u_xlat24.xyz;
                u_xlat24.xyz = u_xlat24.xyz + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 3)].xyw;
                u_xlat49.xz = u_xlat24.xy / u_xlat24.zz;
                u_xlat49.xz = u_xlat49.xz * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                u_xlat49.xz = clamp(u_xlat49.xz, 0.0, 1.0);
                u_xlat49.xz = _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].xy * u_xlat49.xz + _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].zw;
            } else {
                u_xlatb22.x = u_xlati22==1;
                u_xlati22 = u_xlatb22.x ? 1 : int(0);
                if(u_xlati22 != 0) {
                    u_xlat24.xy = vs_TEXCOORD1.yy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 1)].xy;
                    u_xlat24.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati76].xy * vs_TEXCOORD1.xx + u_xlat24.xy;
                    u_xlat24.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 2)].xy * vs_TEXCOORD1.zz + u_xlat24.xy;
                    u_xlat24.xy = u_xlat24.xy + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 3)].xy;
                    u_xlat24.xy = u_xlat24.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                    u_xlat24.xy = fract(u_xlat24.xy);
                    u_xlat49.xz = _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].xy * u_xlat24.xy + _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].zw;
                } else {
                    u_xlat3 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 1)];
                    u_xlat3 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati76] * vs_TEXCOORD1.xxxx + u_xlat3;
                    u_xlat3 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 2)] * vs_TEXCOORD1.zzzz + u_xlat3;
                    u_xlat3 = u_xlat3 + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati76 + 3)];
                    u_xlat24.xyz = u_xlat3.xyz / u_xlat3.www;
                    u_xlat22.x = dot(u_xlat24.xyz, u_xlat24.xyz);
                    u_xlat22.x = inversesqrt(u_xlat22.x);
                    u_xlat24.xyz = u_xlat22.xxx * u_xlat24.xyz;
                    u_xlat22.x = dot(abs(u_xlat24.xyz), vec3(1.0, 1.0, 1.0));
                    u_xlat22.x = max(u_xlat22.x, 9.99999997e-07);
                    u_xlat22.x = float(1.0) / float(u_xlat22.x);
                    u_xlat25.xyz = u_xlat22.xxx * u_xlat24.zxy;
                    u_xlat25.x = (-u_xlat25.x);
                    u_xlat25.x = clamp(u_xlat25.x, 0.0, 1.0);
                    u_xlatb78.xy = greaterThanEqual(u_xlat25.yzyz, vec4(0.0, 0.0, 0.0, 0.0)).xy;
                    u_xlat78.x = (u_xlatb78.x) ? u_xlat25.x : (-u_xlat25.x);
                    u_xlat78.y = (u_xlatb78.y) ? u_xlat25.x : (-u_xlat25.x);
                    u_xlat22.xz = u_xlat24.xy * u_xlat22.xx + u_xlat78.xy;
                    u_xlat22.xz = u_xlat22.xz * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                    u_xlat22.xz = clamp(u_xlat22.xz, 0.0, 1.0);
                    u_xlat49.xz = _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].xy * u_xlat22.xz + _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].zw;
                }
            }
            u_xlat16_3 = textureLod(_AdditionalLightsCookieAtlasTexture, u_xlat49.xz, 0.0);
            u_xlat16_87 = (u_xlatb47.y) ? u_xlat16_3.w : u_xlat16_3.x;
            u_xlat16_8.xyz = (u_xlatb47.x) ? u_xlat16_3.xyz : vec3(u_xlat16_87);
        } else {
            u_xlat16_8.x = float(1.0);
            u_xlat16_8.y = float(1.0);
            u_xlat16_8.z = float(1.0);
        }
        u_xlat16_8.xyz = u_xlat16_8.xyz * _AdditionalLightsColor[int(u_xlatu_loop_1)].xyz;
        u_xlat16_8.xyz = vec3(u_xlat59) * u_xlat16_8.xyz;
        u_xlat102 = u_xlat16_83 * u_xlat102;
        u_xlat22.xyz = u_xlat16_8.xyz * vec3(u_xlat102);
        u_xlat16_83 = dot(u_xlat1.xyz, u_xlat21.xyz);
        u_xlat16_83 = clamp(u_xlat16_83, 0.0, 1.0);
        u_xlat16_8.xyz = vec3(u_xlat16_83) * u_xlat22.xyz;
        u_xlat16_7.xyz = u_xlat16_8.xyz * u_xlat16_0.xyz + u_xlat16_7.xyz;
    }
    u_xlatu20 = uint(_FPParams1.w);
    if(u_xlatu20 != uint(0)) {
        u_xlat5.xy = u_xlat5.xy * _FPParams1.xy;
        u_xlatu5.xy = uvec2(u_xlat5.xy);
        u_xlatu101 = uint(_FPParams1.z);
        u_xlati5 = int(u_xlatu5.y) * int(u_xlatu101) + int(u_xlatu5.x);
        u_xlatu5.x = u_xlatu20 * uint(u_xlati5);
        u_xlat21.x = (-hlslcc_mtx4x4unity_MatrixV[0].z);
        u_xlat21.y = (-hlslcc_mtx4x4unity_MatrixV[1].z);
        u_xlat21.z = (-hlslcc_mtx4x4unity_MatrixV[2].z);
        u_xlat32 = dot(u_xlat21.xyz, u_xlat19.xyz);
        u_xlatb19 = unity_OrthoParams.w==0.0;
        u_xlat46 = log2(u_xlat32);
        u_xlat32 = (u_xlatb19) ? u_xlat46 : u_xlat32;
        u_xlat32 = u_xlat32 * _FPParams0.x + _FPParams0.y;
        u_xlatu32 = uint(u_xlat32);
        u_xlatu32 = min(u_xlatu32, 4095u);
        u_xlati19.x = int(u_xlatu20) + 2;
        u_xlatu46 = u_xlatu32 * uint(u_xlati19.x);
        u_xlatu32 = u_xlatu32 * uint(u_xlati19.x) + 2u;
        u_xlatu19 = uint(u_xlatu46 >> (2u & uint(0x1F)));
        u_xlati46.xy = ivec2(int_bitfieldExtract(int(u_xlatu46), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu46), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati20.xw = ivec2(uvec2(uint(u_xlati46.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu19)].w)), uint(u_xlati46.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu19)].y))));
        u_xlati21.xy = op_not(u_xlati46.xy);
        u_xlati19.xy = ivec2(uvec2(uint(u_xlati21.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu19)].z)), uint(u_xlati21.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu19)].x))));
        u_xlati19.xy = ivec2(uvec2(uint(u_xlati19.x) | uint(u_xlati20.x), uint(u_xlati19.y) | uint(u_xlati20.w)));
        u_xlati19.x = int(uint(uint(u_xlati46.y) & uint(u_xlati19.x)));
        u_xlati46.x = int(uint(uint(u_xlati21.y) & uint(u_xlati19.y)));
        u_xlatu19 = uint(uint(u_xlati46.x) | uint(u_xlati19.x));
        u_xlatu46 = uint(u_xlatu5.x >> (2u & uint(0x1F)));
        u_xlati20.xw = ivec2(int_bitfieldExtract(int(u_xlatu5.x), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu5.x), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati21.xy = ivec2(uvec2(uint(u_xlati20.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu46)].w)), uint(u_xlati20.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu46)].y))));
        u_xlati75.xy = op_not(u_xlati20.xw);
        u_xlati46.xy = ivec2(uvec2(uint(u_xlati75.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu46)].z)), uint(u_xlati75.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu46)].x))));
        u_xlati46.xy = ivec2(uvec2(uint(u_xlati46.x) | uint(u_xlati21.x), uint(u_xlati46.y) | uint(u_xlati21.y)));
        u_xlati5 = int(uint(uint(u_xlati20.w) & uint(u_xlati46.x)));
        u_xlati46.x = int(uint(uint(u_xlati75.y) & uint(u_xlati46.y)));
        u_xlati5 = int(uint(uint(u_xlati5) | uint(u_xlati46.x)));
        u_xlatu46 = uint(u_xlatu32 >> (2u & uint(0x1F)));
        u_xlati20.xw = ivec2(int_bitfieldExtract(int(u_xlatu32), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu32), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati21.xy = ivec2(uvec2(uint(u_xlati20.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu46)].w)), uint(u_xlati20.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu46)].y))));
        u_xlati75.xy = op_not(u_xlati20.xw);
        u_xlati46.xy = ivec2(uvec2(uint(u_xlati75.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu46)].z)), uint(u_xlati75.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu46)].x))));
        u_xlati46.xy = ivec2(uvec2(uint(u_xlati46.x) | uint(u_xlati21.x), uint(u_xlati46.y) | uint(u_xlati21.y)));
        u_xlati32 = int(uint(uint(u_xlati20.w) & uint(u_xlati46.x)));
        u_xlati46.x = int(uint(uint(u_xlati75.y) & uint(u_xlati46.y)));
        u_xlati32 = int(uint(uint(u_xlati32) | uint(u_xlati46.x)));
        u_xlati5 = int(uint(uint(u_xlati32) & uint(u_xlati5)));
        u_xlati32 = int(int(0xFFFFFFFFu) << (int(u_xlatu19) & int(0x1F)));
        u_xlati5 = int(uint(uint(u_xlati32) & uint(u_xlati5)));
        u_xlatu32 = uint(u_xlatu19 >> (16u & uint(0x1F)));
        u_xlatu32 = (-u_xlatu32) + 31u;
        u_xlatu32 = uint(4294967295u >> (u_xlatu32 & uint(0x1F)));
        u_xlati5 = int(uint(u_xlatu32 & uint(u_xlati5)));
    } else {
        u_xlati5 = 0;
    }
    u_xlat16_8.xyz = u_xlat16_7.xyz;
    u_xlati32 = u_xlati5;
    while(true){
        if(u_xlati32 == 0) {break;}
        u_xlati19.x = 0 - u_xlati32;
        u_xlatu19 = uint(uint(u_xlati32) & uint(u_xlati19.x));
        u_xlat19.x = float(u_xlatu19);
        u_xlatu19 = uint(uint(floatBitsToUint(u_xlat19.x)) >> (23u & uint(0x1F)));
        u_xlati19.x = int(u_xlatu19) + int(0xFFFFFF81u);
        u_xlati46.x = int(1 << (u_xlati19.x & int(0x1F)));
        u_xlati32 = int(uint(uint(u_xlati32) ^ uint(u_xlati46.x)));
        u_xlati19.x = int(u_xlatu100) + u_xlati19.x;
        u_xlat21.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[u_xlati19.x].www + _AdditionalLightsPosition[u_xlati19.x].xyz;
        u_xlat46 = dot(u_xlat21.xyz, u_xlat21.xyz);
        u_xlat46 = max(u_xlat46, 6.10351562e-05);
        u_xlat73 = inversesqrt(u_xlat46);
        u_xlat21.xyz = vec3(u_xlat73) * u_xlat21.xyz;
        u_xlat73 = float(1.0) / float(u_xlat46);
        u_xlat46 = u_xlat46 * _AdditionalLightsAttenuation[u_xlati19.x].x;
        u_xlat16_83 = (-u_xlat46) * u_xlat46 + 1.0;
        u_xlat16_83 = max(u_xlat16_83, 0.0);
        u_xlat16_83 = u_xlat16_83 * u_xlat16_83;
        u_xlat46 = u_xlat16_83 * u_xlat73;
        u_xlat16_83 = dot(_AdditionalLightsSpotDir[u_xlati19.x].xyz, u_xlat21.xyz);
        u_xlat16_83 = u_xlat16_83 * _AdditionalLightsAttenuation[u_xlati19.x].z + _AdditionalLightsAttenuation[u_xlati19.x].w;
        u_xlat16_83 = clamp(u_xlat16_83, 0.0, 1.0);
        u_xlat16_83 = u_xlat16_83 * u_xlat16_83;
        u_xlat46 = u_xlat16_83 * u_xlat46;
        u_xlati73 = int(_AdditionalShadowParams[u_xlati19.x].w);
        u_xlatb20.x = u_xlati73>=0;
        if(u_xlatb20.x){
            u_xlatb20.x = vec4(0.0, 0.0, 0.0, 0.0)!=vec4(_AdditionalShadowParams[u_xlati19.x].z);
            if(u_xlatb20.x){
                u_xlatb22.xyz = greaterThanEqual(abs(u_xlat21.zzyz), abs(u_xlat21.xyxx)).xyz;
                u_xlatb20.x = u_xlatb22.y && u_xlatb22.x;
                u_xlatb22.xyw = lessThan((-u_xlat21.zyzx), vec4(0.0, 0.0, 0.0, 0.0)).xyw;
                u_xlat22.x = (u_xlatb22.x) ? float(5.0) : float(4.0);
                u_xlat22.y = (u_xlatb22.y) ? float(3.0) : float(2.0);
                u_xlat101 = u_xlatb22.w ? 1.0 : float(0.0);
                u_xlat101 = (u_xlatb22.z) ? u_xlat22.y : u_xlat101;
                u_xlat20.x = (u_xlatb20.x) ? u_xlat22.x : u_xlat101;
                u_xlat101 = trunc(_AdditionalShadowParams[u_xlati19.x].w);
                u_xlat20.x = u_xlat20.x + u_xlat101;
                u_xlati73 = int(u_xlat20.x);
            }
            u_xlati73 = int(u_xlati73 << (2 & int(0x1F)));
            u_xlat3 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati73 + 1)];
            u_xlat3 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[u_xlati73] * vs_TEXCOORD1.xxxx + u_xlat3;
            u_xlat3 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati73 + 2)] * vs_TEXCOORD1.zzzz + u_xlat3;
            u_xlat3 = u_xlat3 + hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati73 + 3)];
            u_xlat22.xyz = u_xlat3.xyz / u_xlat3.www;
            u_xlatb73 = 0.0<_AdditionalShadowParams[u_xlati19.x].y;
            if(u_xlatb73){
                u_xlatb73 = 1.0==_AdditionalShadowParams[u_xlati19.x].y;
                if(u_xlatb73){
                    u_xlat3 = u_xlat22.xyxy + _AdditionalShadowOffset0;
                    vec3 txVec60 = vec3(u_xlat3.xy,u_xlat22.z);
                    u_xlat16_4.x = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec60, 0.0);
                    vec3 txVec61 = vec3(u_xlat3.zw,u_xlat22.z);
                    u_xlat16_4.y = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec61, 0.0);
                    u_xlat3 = u_xlat22.xyxy + _AdditionalShadowOffset1;
                    vec3 txVec62 = vec3(u_xlat3.xy,u_xlat22.z);
                    u_xlat16_4.z = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec62, 0.0);
                    vec3 txVec63 = vec3(u_xlat3.zw,u_xlat22.z);
                    u_xlat16_4.w = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec63, 0.0);
                    u_xlat16_83 = dot(u_xlat16_4, vec4(0.25, 0.25, 0.25, 0.25));
                } else {
                    u_xlatb73 = 2.0==_AdditionalShadowParams[u_xlati19.x].y;
                    if(u_xlatb73){
                        u_xlat16_9.xy = u_xlat22.xy * _AdditionalShadowmapSize.zw + vec2(0.5, 0.5);
                        u_xlat16_9.xy = floor(u_xlat16_9.xy);
                        u_xlat16_63.xy = u_xlat22.xy * _AdditionalShadowmapSize.zw + (-u_xlat16_9.xy);
                        u_xlat16_3 = u_xlat16_63.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                        u_xlat16_4 = u_xlat16_3.xxzz * u_xlat16_3.xxzz;
                        u_xlat16_10.xy = u_xlat16_4.yw * vec2(0.0799999982, 0.0799999982);
                        u_xlat16_64.xy = u_xlat16_4.xz * vec2(0.5, 0.5) + (-u_xlat16_63.xy);
                        u_xlat16_11.xy = (-u_xlat16_63.xy) + vec2(1.0, 1.0);
                        u_xlat16_65.xy = min(u_xlat16_63.xy, vec2(0.0, 0.0));
                        u_xlat16_65.xy = (-u_xlat16_65.xy) * u_xlat16_65.xy + u_xlat16_11.xy;
                        u_xlat16_63.xy = max(u_xlat16_63.xy, vec2(0.0, 0.0));
                        u_xlat16_63.xy = (-u_xlat16_63.xy) * u_xlat16_63.xy + u_xlat16_3.yw;
                        u_xlat16_65.xy = u_xlat16_65.xy + vec2(1.0, 1.0);
                        u_xlat16_63.xy = u_xlat16_63.xy + vec2(1.0, 1.0);
                        u_xlat16_4.xy = u_xlat16_64.xy * vec2(0.159999996, 0.159999996);
                        u_xlat16_12.xy = u_xlat16_11.xy * vec2(0.159999996, 0.159999996);
                        u_xlat16_11.xy = u_xlat16_65.xy * vec2(0.159999996, 0.159999996);
                        u_xlat16_13.xy = u_xlat16_63.xy * vec2(0.159999996, 0.159999996);
                        u_xlat16_63.xy = u_xlat16_3.yw * vec2(0.159999996, 0.159999996);
                        u_xlat16_4.z = u_xlat16_11.x;
                        u_xlat16_4.w = u_xlat16_63.x;
                        u_xlat16_12.z = u_xlat16_13.x;
                        u_xlat16_12.w = u_xlat16_10.x;
                        u_xlat16_3 = u_xlat16_4.zwxz + u_xlat16_12.zwxz;
                        u_xlat16_11.z = u_xlat16_4.y;
                        u_xlat16_11.w = u_xlat16_63.y;
                        u_xlat16_13.z = u_xlat16_12.y;
                        u_xlat16_13.w = u_xlat16_10.y;
                        u_xlat16_10.xyz = u_xlat16_11.zyw + u_xlat16_13.zyw;
                        u_xlat16_11.xyz = u_xlat16_12.xzw / u_xlat16_3.zwy;
                        u_xlat16_11.xyz = u_xlat16_11.xyz + vec3(-2.5, -0.5, 1.5);
                        u_xlat16_12.xyz = u_xlat16_13.zyw / u_xlat16_10.xyz;
                        u_xlat16_12.xyz = u_xlat16_12.xyz + vec3(-2.5, -0.5, 1.5);
                        u_xlat16_4.xyz = u_xlat16_11.yxz * _AdditionalShadowmapSize.xxx;
                        u_xlat16_11.xyz = u_xlat16_12.xyz * _AdditionalShadowmapSize.yyy;
                        u_xlat16_4.w = u_xlat16_11.x;
                        u_xlat16_12 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_4.ywxw;
                        u_xlat16_63.xy = u_xlat16_9.xy * _AdditionalShadowmapSize.xy + u_xlat16_4.zw;
                        u_xlat16_11.w = u_xlat16_4.y;
                        u_xlat16_4.yw = u_xlat16_11.yz;
                        u_xlat16_13 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_4.xyzy;
                        u_xlat16_11 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.wywz;
                        u_xlat16_4 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_4.xwzw;
                        u_xlat16_14 = u_xlat16_3.zwyz * u_xlat16_10.xxxy;
                        u_xlat16_15 = u_xlat16_3 * u_xlat16_10.yyzz;
                        u_xlat16_87 = u_xlat16_3.y * u_xlat16_10.z;
                        vec3 txVec64 = vec3(u_xlat16_12.xy,u_xlat22.z);
                        u_xlat16_73 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec64, 0.0);
                        vec3 txVec65 = vec3(u_xlat16_12.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec65, 0.0);
                        u_xlat20.x = u_xlat16_14.y * u_xlat16_20;
                        u_xlat73 = u_xlat16_14.x * u_xlat16_73 + u_xlat20.x;
                        vec3 txVec66 = vec3(u_xlat16_63.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec66, 0.0);
                        u_xlat73 = u_xlat16_14.z * u_xlat16_20 + u_xlat73;
                        vec3 txVec67 = vec3(u_xlat16_11.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec67, 0.0);
                        u_xlat73 = u_xlat16_14.w * u_xlat16_20 + u_xlat73;
                        vec3 txVec68 = vec3(u_xlat16_13.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec68, 0.0);
                        u_xlat73 = u_xlat16_15.x * u_xlat16_20 + u_xlat73;
                        vec3 txVec69 = vec3(u_xlat16_13.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec69, 0.0);
                        u_xlat73 = u_xlat16_15.y * u_xlat16_20 + u_xlat73;
                        vec3 txVec70 = vec3(u_xlat16_11.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec70, 0.0);
                        u_xlat73 = u_xlat16_15.z * u_xlat16_20 + u_xlat73;
                        vec3 txVec71 = vec3(u_xlat16_4.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec71, 0.0);
                        u_xlat73 = u_xlat16_15.w * u_xlat16_20 + u_xlat73;
                        vec3 txVec72 = vec3(u_xlat16_4.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec72, 0.0);
                        u_xlat83 = u_xlat16_87 * u_xlat16_20 + u_xlat73;
                        u_xlat16_83 = u_xlat83;
                    } else {
                        u_xlat16_9.xy = u_xlat22.xy * _AdditionalShadowmapSize.zw + vec2(0.5, 0.5);
                        u_xlat16_9.xy = floor(u_xlat16_9.xy);
                        u_xlat16_63.xy = u_xlat22.xy * _AdditionalShadowmapSize.zw + (-u_xlat16_9.xy);
                        u_xlat16_3 = u_xlat16_63.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                        u_xlat16_4 = u_xlat16_3.xxzz * u_xlat16_3.xxzz;
                        u_xlat16_10.yw = u_xlat16_4.yw * vec2(0.0408160016, 0.0408160016);
                        u_xlat16_11.xy = u_xlat16_4.xz * vec2(0.5, 0.5) + (-u_xlat16_63.xy);
                        u_xlat16_65.xy = (-u_xlat16_63.xy) + vec2(1.0, 1.0);
                        u_xlat16_12.xy = min(u_xlat16_63.xy, vec2(0.0, 0.0));
                        u_xlat16_65.xy = (-u_xlat16_12.xy) * u_xlat16_12.xy + u_xlat16_65.xy;
                        u_xlat16_12.xy = max(u_xlat16_63.xy, vec2(0.0, 0.0));
                        u_xlat16_12.xy = (-u_xlat16_12.xy) * u_xlat16_12.xy + u_xlat16_3.yw;
                        u_xlat16_65.xy = u_xlat16_65.xy + vec2(2.0, 2.0);
                        u_xlat16_12.xy = u_xlat16_12.xy + vec2(2.0, 2.0);
                        u_xlat16_3.z = u_xlat16_12.x * 0.0816320032;
                        u_xlat16_4.xy = u_xlat16_11.yx * vec2(0.0816320032, 0.0816320032);
                        u_xlat16_11.xy = u_xlat16_65.xy * vec2(0.0816320032, 0.0816320032);
                        u_xlat16_4.z = u_xlat16_12.y * 0.0816320032;
                        u_xlat16_3.x = u_xlat16_4.y;
                        u_xlat16_3.yw = u_xlat16_63.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                        u_xlat16_12.xz = u_xlat16_63.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                        u_xlat16_12.y = u_xlat16_11.x;
                        u_xlat16_12.w = u_xlat16_10.y;
                        u_xlat16_3 = u_xlat16_3 + u_xlat16_12;
                        u_xlat16_4.yw = u_xlat16_63.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                        u_xlat16_10.xz = u_xlat16_63.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                        u_xlat16_10.y = u_xlat16_11.y;
                        u_xlat16_4 = u_xlat16_4 + u_xlat16_10;
                        u_xlat16_11 = u_xlat16_12 / u_xlat16_3;
                        u_xlat16_11 = u_xlat16_11 + vec4(-3.5, -1.5, 0.5, 2.5);
                        u_xlat16_10 = u_xlat16_10 / u_xlat16_4;
                        u_xlat16_10 = u_xlat16_10 + vec4(-3.5, -1.5, 0.5, 2.5);
                        u_xlat16_11 = u_xlat16_11.wxyz * _AdditionalShadowmapSize.xxxx;
                        u_xlat16_10 = u_xlat16_10.xwyz * _AdditionalShadowmapSize.yyyy;
                        u_xlat16_12.xzw = u_xlat16_11.yzw;
                        u_xlat16_12.y = u_xlat16_10.x;
                        u_xlat16_13 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_12.xyzy;
                        u_xlat16_63.xy = u_xlat16_9.xy * _AdditionalShadowmapSize.xy + u_xlat16_12.wy;
                        u_xlat16_11.y = u_xlat16_12.y;
                        u_xlat16_12.y = u_xlat16_10.z;
                        u_xlat16_14 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_12.xyzy;
                        u_xlat16_15.xy = u_xlat16_9.xy * _AdditionalShadowmapSize.xy + u_xlat16_12.wy;
                        u_xlat16_11.z = u_xlat16_12.y;
                        u_xlat16_16 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_11.xyxz;
                        u_xlat16_12.y = u_xlat16_10.w;
                        u_xlat16_17 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_12.xyzy;
                        u_xlat16_38.xy = u_xlat16_9.xy * _AdditionalShadowmapSize.xy + u_xlat16_12.wy;
                        u_xlat16_11.w = u_xlat16_12.y;
                        u_xlat16_69.xy = u_xlat16_9.xy * _AdditionalShadowmapSize.xy + u_xlat16_11.xw;
                        u_xlat16_10.xzw = u_xlat16_12.xzw;
                        u_xlat16_12 = u_xlat16_9.xyxy * _AdditionalShadowmapSize.xyxy + u_xlat16_10.xyzy;
                        u_xlat16_64.xy = u_xlat16_9.xy * _AdditionalShadowmapSize.xy + u_xlat16_10.wy;
                        u_xlat16_10.x = u_xlat16_11.x;
                        u_xlat16_9.xy = u_xlat16_9.xy * _AdditionalShadowmapSize.xy + u_xlat16_10.xy;
                        u_xlat16_18 = u_xlat16_3 * u_xlat16_4.xxxx;
                        u_xlat16_23 = u_xlat16_3 * u_xlat16_4.yyyy;
                        u_xlat16_24 = u_xlat16_3 * u_xlat16_4.zzzz;
                        u_xlat16_3 = u_xlat16_3 * u_xlat16_4.wwww;
                        vec3 txVec73 = vec3(u_xlat16_13.xy,u_xlat22.z);
                        u_xlat16_73 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec73, 0.0);
                        vec3 txVec74 = vec3(u_xlat16_13.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec74, 0.0);
                        u_xlat20.x = u_xlat16_18.y * u_xlat16_20;
                        u_xlat73 = u_xlat16_18.x * u_xlat16_73 + u_xlat20.x;
                        vec3 txVec75 = vec3(u_xlat16_63.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec75, 0.0);
                        u_xlat73 = u_xlat16_18.z * u_xlat16_20 + u_xlat73;
                        vec3 txVec76 = vec3(u_xlat16_16.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec76, 0.0);
                        u_xlat73 = u_xlat16_18.w * u_xlat16_20 + u_xlat73;
                        vec3 txVec77 = vec3(u_xlat16_14.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec77, 0.0);
                        u_xlat73 = u_xlat16_23.x * u_xlat16_20 + u_xlat73;
                        vec3 txVec78 = vec3(u_xlat16_14.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec78, 0.0);
                        u_xlat73 = u_xlat16_23.y * u_xlat16_20 + u_xlat73;
                        vec3 txVec79 = vec3(u_xlat16_15.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec79, 0.0);
                        u_xlat73 = u_xlat16_23.z * u_xlat16_20 + u_xlat73;
                        vec3 txVec80 = vec3(u_xlat16_16.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec80, 0.0);
                        u_xlat73 = u_xlat16_23.w * u_xlat16_20 + u_xlat73;
                        vec3 txVec81 = vec3(u_xlat16_17.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec81, 0.0);
                        u_xlat73 = u_xlat16_24.x * u_xlat16_20 + u_xlat73;
                        vec3 txVec82 = vec3(u_xlat16_17.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec82, 0.0);
                        u_xlat73 = u_xlat16_24.y * u_xlat16_20 + u_xlat73;
                        vec3 txVec83 = vec3(u_xlat16_38.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec83, 0.0);
                        u_xlat73 = u_xlat16_24.z * u_xlat16_20 + u_xlat73;
                        vec3 txVec84 = vec3(u_xlat16_69.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec84, 0.0);
                        u_xlat73 = u_xlat16_24.w * u_xlat16_20 + u_xlat73;
                        vec3 txVec85 = vec3(u_xlat16_12.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec85, 0.0);
                        u_xlat73 = u_xlat16_3.x * u_xlat16_20 + u_xlat73;
                        vec3 txVec86 = vec3(u_xlat16_12.zw,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec86, 0.0);
                        u_xlat73 = u_xlat16_3.y * u_xlat16_20 + u_xlat73;
                        vec3 txVec87 = vec3(u_xlat16_64.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec87, 0.0);
                        u_xlat73 = u_xlat16_3.z * u_xlat16_20 + u_xlat73;
                        vec3 txVec88 = vec3(u_xlat16_9.xy,u_xlat22.z);
                        u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec88, 0.0);
                        u_xlat83 = u_xlat16_3.w * u_xlat16_20 + u_xlat73;
                        u_xlat16_83 = u_xlat83;
                    }
                }
            } else {
                vec3 txVec89 = vec3(u_xlat22.xy,u_xlat22.z);
                u_xlat16_83 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec89, 0.0);
                u_xlat16_83 = u_xlat16_83;
            }
            u_xlat16_87 = 1.0 + (-_AdditionalShadowParams[u_xlati19.x].x);
            u_xlat16_83 = u_xlat16_83 * _AdditionalShadowParams[u_xlati19.x].x + u_xlat16_87;
            u_xlatb73 = 0.0>=u_xlat22.z;
            u_xlatb20.x = u_xlat22.z>=1.0;
            u_xlatb73 = u_xlatb73 || u_xlatb20.x;
            u_xlat16_83 = (u_xlatb73) ? 1.0 : u_xlat16_83;
        } else {
            u_xlat16_83 = 1.0;
        }
        u_xlat16_87 = (-u_xlat16_83) + 1.0;
        u_xlat16_83 = u_xlat86 * u_xlat16_87 + u_xlat16_83;
        u_xlati73 = int(1 << (u_xlati19.x & int(0x1F)));
        u_xlati73 = int(uint(uint(u_xlati73) & uint(floatBitsToUint(_AdditionalLightsCookieEnableBits))));
        if(u_xlati73 != 0) {
            u_xlati73 = int(_AdditionalLightsLightTypes[u_xlati19.x]);
            u_xlati20.x = (u_xlati73 != 0) ? 0 : 1;
            u_xlati101 = int(u_xlati19.x << (2 & int(0x1F)));
            if(u_xlati20.x != 0) {
                u_xlat22.xyz = vs_TEXCOORD1.yyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 1)].xyw;
                u_xlat22.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati101].xyw * vs_TEXCOORD1.xxx + u_xlat22.xyz;
                u_xlat22.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 2)].xyw * vs_TEXCOORD1.zzz + u_xlat22.xyz;
                u_xlat22.xyz = u_xlat22.xyz + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 3)].xyw;
                u_xlat22.xy = u_xlat22.xy / u_xlat22.zz;
                u_xlat22.xy = u_xlat22.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                u_xlat22.xy = clamp(u_xlat22.xy, 0.0, 1.0);
                u_xlat22.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati19.x].xy * u_xlat22.xy + _AdditionalLightsCookieAtlasUVRects[u_xlati19.x].zw;
            } else {
                u_xlatb73 = u_xlati73==1;
                u_xlati73 = u_xlatb73 ? 1 : int(0);
                if(u_xlati73 != 0) {
                    u_xlat76.xy = vs_TEXCOORD1.yy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 1)].xy;
                    u_xlat76.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati101].xy * vs_TEXCOORD1.xx + u_xlat76.xy;
                    u_xlat76.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 2)].xy * vs_TEXCOORD1.zz + u_xlat76.xy;
                    u_xlat76.xy = u_xlat76.xy + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 3)].xy;
                    u_xlat76.xy = u_xlat76.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                    u_xlat76.xy = fract(u_xlat76.xy);
                    u_xlat22.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati19.x].xy * u_xlat76.xy + _AdditionalLightsCookieAtlasUVRects[u_xlati19.x].zw;
                } else {
                    u_xlat3 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 1)];
                    u_xlat3 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati101] * vs_TEXCOORD1.xxxx + u_xlat3;
                    u_xlat3 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 2)] * vs_TEXCOORD1.zzzz + u_xlat3;
                    u_xlat3 = u_xlat3 + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati101 + 3)];
                    u_xlat25.xyz = u_xlat3.xyz / u_xlat3.www;
                    u_xlat73 = dot(u_xlat25.xyz, u_xlat25.xyz);
                    u_xlat73 = inversesqrt(u_xlat73);
                    u_xlat25.xyz = vec3(u_xlat73) * u_xlat25.xyz;
                    u_xlat73 = dot(abs(u_xlat25.xyz), vec3(1.0, 1.0, 1.0));
                    u_xlat73 = max(u_xlat73, 9.99999997e-07);
                    u_xlat73 = float(1.0) / float(u_xlat73);
                    u_xlat26.xyz = vec3(u_xlat73) * u_xlat25.zxy;
                    u_xlat26.x = (-u_xlat26.x);
                    u_xlat26.x = clamp(u_xlat26.x, 0.0, 1.0);
                    u_xlatb20.xw = greaterThanEqual(u_xlat26.yyyz, vec4(0.0, 0.0, 0.0, 0.0)).xw;
                    u_xlat20.x = (u_xlatb20.x) ? u_xlat26.x : (-u_xlat26.x);
                    u_xlat20.w = (u_xlatb20.w) ? u_xlat26.x : (-u_xlat26.x);
                    u_xlat20.xw = u_xlat25.xy * vec2(u_xlat73) + u_xlat20.xw;
                    u_xlat20.xw = u_xlat20.xw * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                    u_xlat20.xw = clamp(u_xlat20.xw, 0.0, 1.0);
                    u_xlat22.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati19.x].xy * u_xlat20.xw + _AdditionalLightsCookieAtlasUVRects[u_xlati19.x].zw;
                }
            }
            u_xlat16_3 = textureLod(_AdditionalLightsCookieAtlasTexture, u_xlat22.xy, 0.0);
            u_xlat16_87 = (u_xlatb47.y) ? u_xlat16_3.w : u_xlat16_3.x;
            u_xlat16_9.xyz = (u_xlatb47.x) ? u_xlat16_3.xyz : vec3(u_xlat16_87);
        } else {
            u_xlat16_9.x = float(1.0);
            u_xlat16_9.y = float(1.0);
            u_xlat16_9.z = float(1.0);
        }
        u_xlat16_9.xyz = u_xlat16_9.xyz * _AdditionalLightsColor[u_xlati19.x].xyz;
        u_xlat16_9.xyz = vec3(u_xlat59) * u_xlat16_9.xyz;
        u_xlat19.x = u_xlat16_83 * u_xlat46;
        u_xlat19.xyz = u_xlat16_9.xyz * u_xlat19.xxx;
        u_xlat16_83 = dot(u_xlat1.xyz, u_xlat21.xyz);
        u_xlat16_83 = clamp(u_xlat16_83, 0.0, 1.0);
        u_xlat16_9.xyz = vec3(u_xlat16_83) * u_xlat19.xyz;
        u_xlat16_8.xyz = u_xlat16_9.xyz * u_xlat16_0.xyz + u_xlat16_8.xyz;
    }
    u_xlat16_2.xyz = u_xlat16_2.xyz * u_xlat16_0.xyz + u_xlat16_6.xyz;
    SV_Target0.xyz = u_xlat16_8.xyz + u_xlat16_2.xyz;
    u_xlatb5 = _Surface==1.0;
    SV_Target0.w = (u_xlatb5) ? u_xlat16_0.w : 1.0;
    return;
}


// Keywords: _ADDITIONAL_LIGHT_SHADOWS _FORWARD_PLUS _LIGHT_COOKIES _MAIN_LIGHT_SHADOWS _SCREEN_SPACE_OCCLUSION _SHADOWS_SOFT
// 